package service;

import model.LogEntity;
import model.entity.Order;
import model.enums.OrderStatus;

import java.util.List;

/**
 * @Author WeiJin
 * @Version 1.0
 * @Date 2025/3/25 9:40
 */
public interface OrderRepository {
    /**
     * 保存订单
     * @param order 订单
     */
    void save(Order order);

    /**
     * 根据订单id获取订单
     * @param orderId 订单id
     * @return 订单
     */
    Order findById(String orderId);

    /**
     * 修改订单状态
     * @param orderId 订单id
     * @param status 订单状态枚举
     */
    void updateStatus(String orderId, OrderStatus status);

    /**
     * 记录日志
     * @param orderId 订单号
     * @param logEntity 日志
     */
    void logModification(String orderId, LogEntity logEntity);

    LogEntity getLogByOrderId(String orderId);
}
